home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / serveroncd / Server-on-CD.iso / socd / software / TightVNC.exe / {app} / WinVNC.exe / ButtonPanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  2003-07-31  |  3.0 KB  |  104 lines

  1. import java.awt.Button;
  2. import java.awt.Container;
  3. import java.awt.FlowLayout;
  4. import java.awt.Panel;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.awt.event.KeyEvent;
  8. import java.io.IOException;
  9. import java.util.EventObject;
  10.  
  11. class ButtonPanel extends Panel implements ActionListener {
  12.    VncViewer viewer;
  13.    Button disconnectButton;
  14.    Button optionsButton;
  15.    Button recordButton;
  16.    Button clipboardButton;
  17.    Button ctrlAltDelButton;
  18.    Button refreshButton;
  19.  
  20.    ButtonPanel(VncViewer var1) {
  21.       this.viewer = var1;
  22.       ((Container)this).setLayout(new FlowLayout(0, 0, 0));
  23.       this.disconnectButton = new Button("Disconnect");
  24.       this.disconnectButton.setEnabled(false);
  25.       ((Container)this).add(this.disconnectButton);
  26.       this.disconnectButton.addActionListener(this);
  27.       this.optionsButton = new Button("Options");
  28.       ((Container)this).add(this.optionsButton);
  29.       this.optionsButton.addActionListener(this);
  30.       this.clipboardButton = new Button("Clipboard");
  31.       this.clipboardButton.setEnabled(false);
  32.       ((Container)this).add(this.clipboardButton);
  33.       this.clipboardButton.addActionListener(this);
  34.       if (this.viewer.rec != null) {
  35.          this.recordButton = new Button("Record");
  36.          ((Container)this).add(this.recordButton);
  37.          this.recordButton.addActionListener(this);
  38.       }
  39.  
  40.       this.ctrlAltDelButton = new Button("Send Ctrl-Alt-Del");
  41.       this.ctrlAltDelButton.setEnabled(false);
  42.       ((Container)this).add(this.ctrlAltDelButton);
  43.       this.ctrlAltDelButton.addActionListener(this);
  44.       this.refreshButton = new Button("Refresh");
  45.       this.refreshButton.setEnabled(false);
  46.       ((Container)this).add(this.refreshButton);
  47.       this.refreshButton.addActionListener(this);
  48.    }
  49.  
  50.    public void actionPerformed(ActionEvent var1) {
  51.       this.viewer.moveFocusToDesktop();
  52.       if (((EventObject)var1).getSource() == this.disconnectButton) {
  53.          this.viewer.disconnect();
  54.       } else if (((EventObject)var1).getSource() == this.optionsButton) {
  55.          this.viewer.options.setVisible(this.viewer.options.isVisible() ^ true);
  56.       } else if (((EventObject)var1).getSource() == this.recordButton) {
  57.          this.viewer.rec.setVisible(this.viewer.rec.isVisible() ^ true);
  58.       } else if (((EventObject)var1).getSource() == this.clipboardButton) {
  59.          this.viewer.clipboard.setVisible(this.viewer.clipboard.isVisible() ^ true);
  60.       } else if (((EventObject)var1).getSource() == this.ctrlAltDelButton) {
  61.          try {
  62.             boolean var2 = true;
  63.             KeyEvent var3 = new KeyEvent(this, 401, 0L, 10, 127);
  64.             this.viewer.rfb.writeKeyEvent(var3);
  65.             var3 = new KeyEvent(this, 402, 0L, 10, 127);
  66.             this.viewer.rfb.writeKeyEvent(var3);
  67.          } catch (IOException var5) {
  68.             ((Throwable)var5).printStackTrace();
  69.          }
  70.       } else if (((EventObject)var1).getSource() == this.refreshButton) {
  71.          try {
  72.             RfbProto var6 = this.viewer.rfb;
  73.             var6.writeFramebufferUpdateRequest(0, 0, var6.framebufferWidth, var6.framebufferHeight, false);
  74.          } catch (IOException var4) {
  75.             ((Throwable)var4).printStackTrace();
  76.          }
  77.       }
  78.  
  79.    }
  80.  
  81.    public void disableButtonsOnDisconnect() {
  82.       ((Container)this).remove(this.disconnectButton);
  83.       this.disconnectButton = new Button("Hide desktop");
  84.       this.disconnectButton.setEnabled(true);
  85.       ((Container)this).add(this.disconnectButton, 0);
  86.       this.disconnectButton.addActionListener(this);
  87.       this.optionsButton.setEnabled(false);
  88.       this.clipboardButton.setEnabled(false);
  89.       this.ctrlAltDelButton.setEnabled(false);
  90.       this.refreshButton.setEnabled(false);
  91.       ((Container)this).validate();
  92.    }
  93.  
  94.    public void enableButtons() {
  95.       this.disconnectButton.setEnabled(true);
  96.       this.clipboardButton.setEnabled(true);
  97.       this.refreshButton.setEnabled(true);
  98.    }
  99.  
  100.    public void enableRemoteAccessControls(boolean var1) {
  101.       this.ctrlAltDelButton.setEnabled(var1);
  102.    }
  103. }
  104.